Data that is communicated across a given communication channel or stored in a memory may be encrypted for purposes of securing the data from unauthorized access. Various aspects of cryptography involved in the encryption and decryption of data use pseudo random numbers. As examples, pseudo random numbers may be used for such purposes as generating keys, nonces, one time pads (OTPs) and salts.